from tkinter import *

root = Tk()
#画板
w = Canvas(root, width=600, height=800, background="white")
w.pack()



#头的轮廓蓝色(限定矩形对角线：x1 y1 x2 y2 外黑内蓝)====================
w.create_oval(150, 100,450,400,outline="black",fill="blue")

#脸的白色
w.create_oval(175, 150,425,400,outline="black",fill="white")  

#眼睛，椭圆，白色，先左后右
w.create_oval(250,115,300,180,outline="black",fill="white")
w.create_oval(300,115,350,180,outline="black",fill="white")

#眼睛  ==》》黑色，椭圆，先左后右
w.create_oval(280,137,295,159,outline="black",fill="black")
w.create_oval(305,137,320,159,outline="black",fill="black")

#眼睛  ==》》白色，椭圆，先左后右(端点为圆形)
w.create_line(287.5,145,287.5,151,fill='white',width=3,capstyle='round')
w.create_line(312.5,145,312.5,151,fill='white',width=3,capstyle='round')

#脸上的竖线黑色(直线端点：x1 y1 x2 y2 黑1)=============================
w.create_line(300,180,300,300,fill='black',width=1)

#胡须水平的部分黑色，先左后右
w.create_line(200,240,280,240,fill='black',width=1.5)
w.create_line(320,240,400,240,fill='black',width=1.5)

#胡须位于水平胡须下方的两根黑色，先左后右
w.create_line(210,280,280,260,fill='black',width=1.5)
w.create_line(320,260,390,280,fill='black',width=1.5)

#胡须位于水平胡须上方的两根黑色，先左后右，
w.create_line(210,200,280,220,fill='black',width=1.5)
w.create_line(320,220,390,200,fill='black',width=1.5)

#嘴巴部分黑色(限定矩形对角线：x1 y1 x2 y2 弧线 开始角度 延伸角度)======
w.create_arc(175,50,425,300,width=1,style=ARC,start=240,extent=60)

#鼻子红色
w.create_oval(290, 170,310,190,outline="black",fill="red")

#胳膊，蓝色，从左至右（扇形）
#(限定矩形对角线：x1 y1 x2 y2 扇形 开始角度 延伸角度 黑边 蓝)======
w.create_arc(-75, 325,265,665,width=1,style=PIESLICE,start=35,extent=20,outline='black',fill='blue')
w.create_arc(335, 325,675,665,width=1,style=PIESLICE,start=125,extent=20,outline='black',fill='blue')

#胳膊去圆心部分，白色，从左至右
w.create_arc(50, 450,140,540,width=1,style=PIESLICE,start=35,extent=20,outline='white',fill='white')
w.create_arc(460, 450,550,540,width=1,style=PIESLICE,start=125,extent=20,outline='white',fill='white')

#手，白色，从左至右（圆）
w.create_oval(120, 430,160,470,outline="black",fill="white")
w.create_oval(440, 430,480,470,outline="black",fill="white")

#身体蓝色部分
w.create_rectangle(188,350,412,550,fill="blue",outline="black")

#腹部的圆，白色
w.create_oval(215, 340,385,510,outline="white",fill="white")

#脖子上的横线红色部分
w.create_line(188,350,412,350,fill='red',width=15,capstyle='round')

#腹部的半圆，白色
w.create_arc(240, 365,360,485,width=1,start=180,extent=180,style=PIESLICE,outline='black',fill='white')

#两脚中间的扇形 白色
w.create_arc(280, 530,320,570,width=1,start=0,extent=180,style=PIESLICE,outline='white',fill='white')

#两只脚，椭圆，白色
w.create_oval(170, 530,290,570,outline="black",fill="white")
w.create_oval(310, 530,430,570,outline="black",fill="white")

#铃铛部分，黄色
w.create_oval(286, 346,314,374,outline="black",fill="yellow")

#铃铛的横线，黄色,使用矩形

w.create_rectangle(286,357,314,361,fill="yellow",outline="black")
#铃铛上的小红圆
w.create_oval(297, 363,303,369,outline="black",fill="red")

#铃铛上的竖线黑色
w.create_line(300,369,300,374,fill='black',width=1)

#网格线
for m in range(10,800,10):
    line_m=w.create_line(0,m,600,m,fill='black',width=0.5,dash=(1,10))
    if m%100==0:
        #w.itemconfig(line_m,fill='red')#此处想要实线，怎么修改代码？
        line_p=w.create_line(0,m,600,m,fill='red',width=0.5)
        w.create_text(20,m,text=str(m))
        w.create_text(580,m,text=str(m))
    elif m%50==0:
        w.itemconfig(line_m,fill='red')
      
for n in range(10,600,10):
    line_n=w.create_line(n,0,n,800,fill='black',width=0.5,dash=(1,10))
    if n%100==0:
        line_q=w.create_line(n,0,n,800,fill='red',width=0.5)
        w.create_text(n,10,text=str(n))
        w.create_text(n,780,text=str(n))
    elif n%50==0:
        w.itemconfig(line_n,fill='red')
        
mainloop()
